

//Reducer 是一个函数，它接受 Action 和当前 State 作为参数，返回一个新的 State。

import { changeCityTypes, changeCountTypes } from "./types";

//Store 自动调用 Reducer，并且传入两个参数

import { combineReducers } from "redux";
import { city } from "./city";
import { msg } from "./msg";
import { count } from "./count";
import { data } from "./data";
import { word } from "./word";

export const reducers = combineReducers({
    count:count,
    city,data,msg,word
   
    
    
    
})

//全局数据状态
// const defaultState={
//     count:1,
//     city:"武汉",
//     msg:"are you ok?",
//     word:"我要精通redux",
//     data:{
//         mv:[],
//         flag:true,
//         test:"测试api接口",
//         num:1000
//     }
// }


// export const reducers = function (state=defaultState, action) {
//     console.log(action);
//     const {type,payload}=action  //action是一个对象  必须有一个type
//     switch(type){
//         case "countAdd":
//             state.count++
//             return state;    //一直是旧的state
//         break
      

//          case "countDesc":
//                 state.count--;
//                 return {...state};  //解构 返回新的state
//          break;

//          case changeCountTypes:
//           return {...state,count:state.count+payload};  //解构 返回新的state
//           break;

//           case changeCityTypes:
//            return {...state,city:payload};  //解构 返回新的state
//           break;

//           case "changeMsg":
//             return {...state,msg:payload};  //解构 返回新的state
//            break;

//            case "changeWord":
//             return {...state,word:payload};  //解构 返回新的state
//            break;

//            case "changeFlag":
//             //    state.data.flag=payload
//             state.data={...state.city.data,flag:payload}
//             return {...state,data:state.data};  //解构 返回新的state
//            break;

//            case "changeDataTest":
//           state.data={...state.data,test:payload}
//             return {...state,data:state.data};  //解构 返回新的state
//            break;

           
//            case "changeDataNum":
//             state.data.num+=payload
//               return {...state,data:state.data};  //解构 返回新的state
//              break;

//             default:
//                 return state
//                 break
//     }
//   };